home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c++-part2 / 12199 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  3.6 KB

  1. Path: gisdev.genasys.com.au!not-for-mail
  2. From: roberts@genasys.com.au (Robert Swan)
  3. Newsgroups: comp.lang.eiffel,comp.lang.c,comp.lang.c++,comp.object,comp.software-eng
  4. Subject: Re: Beware of "C" Hackers -- A rebuttal to Bertrand Meyer
  5. Date: 19 Mar 1996 07:32:51 +1100
  6. Organization: Genasys II, Australia
  7. Message-ID: <4ikh9k$mtr@gisdev.genasys.com.au>
  8. References: <1995Jul3.034108.4193@rcmcon.com> <3taaha$p8j@ixnews3.ix.netcom.co <64ss5$3F3RB@herold.franken.de> <4ijmup$dvl@henry.netaxis.com>
  9. NNTP-Posting-Host: gisdev.genasys.com.au
  10.  
  11. In article <4ijmup$dvl@henry.netaxis.com>,
  12. john p radigan <jradigan@davinci> wrote:
  13. >Joachim Durchholz (jhd@herold.franken.de) wrote:
  14. >: I haven't said a word of design phase vs. programming phase. And my  
  15. >: impression is indeed that a hacker doesn't want to waste time on design  
  16. >: when he could use to build working programs. But that is more a question  
  17. >: of the point of view; the hackers that build large systems do design in an  
  18. >: informal way, and they usually don't document it. Nevertheless all larger  
  19. >: programs done by hackers have a design.
  20. >
  21. >I don't think it's a point of view, the evidence is usually in the code
  22. >itself.  Even without a formal design specification beforehand, the quality
  23. >of output seperates the truely dangerous code-first mentality from the ones
  24. >who had a clear understanding of the problem before they ever fired up the
  25. >editor.
  26. >
  27. >: And on the design side, I have seen hours spent on design meetings, put  
  28. >: the results into specifications - only to discover two weeks later that  
  29. >: the specifications were utter sh*t. Such incidents don't exactly encourage  
  30. >: hackers to spend time on design.
  31. >
  32. >That's short-sighted at best, a thoughtful person can seperate the process of
  33. >design from the poor leadership that resulted in a useless specification.
  34.  
  35. I'm puzzled how this comes down to bad leadership, but no matter.
  36.  
  37. I used to believe that you should complete a design prior to
  38. doing any coding...  right down to completing user documentation
  39. etc.  Unfortunately, this approach has failed me more often than
  40. not.  You usually end up with a great solution to the wrong
  41. problem.
  42.  
  43. Here's the typical formal analysis procedure:
  44.  
  45. 1. Gather user input
  46. 2. Show user specification, as you have understood it.
  47. 3. Refine specification according to user feedback
  48. 4. Once the spec. is satisfactory, code it.
  49.  
  50. For me, step 3 is the Achilles heel.  Despite my best efforts to
  51. explain the specification to them, and their assurances to the
  52. contrary, the "users" don't understand the specification well
  53. enough to see the potential repercussions of various design
  54. decisions.  So we end up agreeing on a wrong spec, doing step 4
  55. and _then_ get useful feedback from the same users saying that
  56. the didn't expect this or that limitation was going to be there.
  57.  
  58. This experience has forced me down from the moral high ground of
  59. academic idealism.  I am now quite happy to use a quickly coded
  60. example (using any language -- perl, sh, C) to show the users
  61. what the final implementation might look like: i.e. a prototype.
  62. The thing that allows me to hold my head up in public and admit
  63. this is that _this_ code is only used in step 3.  It is all ripe
  64. for discarding; just as soon as the users are happy with what
  65. they're going to get.  We can then get on and code meticulously,
  66. and with considerably more confidence that we're not going down a
  67. blind alley.
  68.  
  69. It works for me anyway.
  70.  
  71. Have fun,
  72.  
  73. Robert.
  74. -- 
  75. Robert Swan,                         |  No, not the Antarctic adventurer.
  76. roberts@genasys.com.au               |  No, not the Canberra porn monger.
  77. Genasys II Pty. Ltd., North Sydney.  |  Yes, that's right.  The boring one.
  78.